package com.example.library.dto;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;

/**
 * 借阅记录查询请求DTO
 *
   */
@Data
@EqualsAndHashCode(callSuper = true)
public class BorrowRecordQueryRequest extends BaseQueryRequest {

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 用户名（模糊查询）
     */
    private String username;

    /**
     * 图书ID
     */
    private Long bookId;

    /**
     * 图书标题（模糊查询）
     */
    private String bookTitle;

    /**
     * ISBN号（精确查询）
     */
    private String isbn;

    /**
     * 状态：0-已借出，1-已归还，2-逾期
     */
    private Integer status;

    /**
     * 借阅开始日期
     */
    private LocalDate borrowStartDate;

    /**
     * 借阅结束日期
     */
    private LocalDate borrowEndDate;

    /**
     * 应还开始日期
     */
    private LocalDate dueStartDate;

    /**
     * 应还结束日期
     */
    private LocalDate dueEndDate;

    /**
     * 实际归还开始日期
     */
    private LocalDate returnStartDate;

    /**
     * 实际归还结束日期
     */
    private LocalDate returnEndDate;

    /**
     * 是否逾期
     */
    private Boolean isOverdue;

    /**
     * 是否有罚金
     */
    private Boolean hasFine;

}